﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.OleDb;
using DTO;
using DAO;
using BUS;
using System.Data;
namespace QL_xxx
{
    /// <summary>
    /// Interaction logic for UserControl1.xaml
    /// </summary>
    public partial class QLLoaiPhong_View : UserControl
    {
        private List<LoaiPhongDTO> listLoaiPhong = null;
        private LoaiPhongDTO loaiPhongSelected = null;
        public QLLoaiPhong_View()
        {
            this.InitializeComponent();

        }


        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            listLoaiPhong = LoaiPhongBUS.LayDSLoaiPhong();
            LoadGrid(listLoaiPhong);

        }


        private void LoadGrid(List<LoaiPhongDTO> listLoaiPhong)// NEK CHO NAY MOI THEM TEN COT VAO
        {
            GridDSLoaiPhong.ItemsSource = null;
            if (listLoaiPhong != null && listLoaiPhong.Count > 0)
            {
                GridDSLoaiPhong.ItemsSource = listLoaiPhong;// cái loaiphongdto có nhi^eu thuoc tinh, no add het// cái này có test thu rui

                GridDSLoaiPhong.Columns[1].Header = "Tên loại phòng";// cai nay dien te cot
                GridDSLoaiPhong.Columns[2].Header = "Đơn giá";

                GridDSLoaiPhong.Columns[1].Width = GridDSLoaiPhong.ActualWidth / 3;//cho nay tuy may thix bao nhieu cung dc, noi chung la do rong cua cotok
                GridDSLoaiPhong.Columns[2].Width = 2 * GridDSLoaiPhong.ActualWidth / 3;

                GridDSLoaiPhong.Columns[0].Visibility = Visibility.Hidden;// cot nao hk can hien len, thi cho no invi

            }
        }

        private void LayoutRoot_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            try
            {
                GridDSLoaiPhong.Columns[1].Width = GridDSLoaiPhong.ActualWidth / 3;

                GridDSLoaiPhong.Columns[2].Width = 2 * GridDSLoaiPhong.ActualWidth / 3;
            }
            catch
            {
            }
        }
        private void btnThem_Click(object sender, RoutedEventArgs e)
        {
            ThemLoaiPhong them = new ThemLoaiPhong();
            them.onThemLoaiPhongThanhCong += new OnThemLoaiPhongThanhCong(them_onThemLoaiPhongThanhCong);//cái này có bấm phím tắt hok tab m`ay ghi += xong tab 2 cai zz
            them.ShowDialog();

        }

        void them_onThemLoaiPhongThanhCong()
        {
            listLoaiPhong = LoaiPhongBUS.LayDSLoaiPhong();
            LoadGrid(listLoaiPhong);
        }
        private void btnSua_Click(object sender, RoutedEventArgs e)
        {
            SuaLoaiPhong sua = new SuaLoaiPhong(loaiPhongSelected.MaLoaiPhong, loaiPhongSelected.TenLoaiPhong, loaiPhongSelected.DonGia);
            sua.onSuaLoaiPhongThanhCong += new OnSuaLoaiPhongThanhCong(sua_onSuaLoaiPhongThanhCong);
            sua.ShowDialog();
        }

        void sua_onSuaLoaiPhongThanhCong()
        {
            listLoaiPhong = LoaiPhongBUS.LayDSLoaiPhong();
            LoadGrid(listLoaiPhong);
        }

        private void GridDSLoaiPhong_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            loaiPhongSelected = (LoaiPhongDTO)GridDSLoaiPhong.SelectedItem;
            if (loaiPhongSelected != null)
            {
                btnSua.IsEnabled = true;
                btnXoa.IsEnabled = true;
            }
            else
            {
                btnSua.IsEnabled = false;
                btnXoa.IsEnabled = false;
            }
        }

        private void btnXoa_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBoxResult.Yes == MessageBox.Show("Bạn có chắc xóa, xóa loại phòng sẽ dẫn tới xóa hết các thông tin liên quan!", "Cẩn thận", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No))
            {
                if (LoaiPhongBUS.XoaLoaiPhong(loaiPhongSelected.MaLoaiPhong))
                {
                    MessageBox.Show("Xong");
                    listLoaiPhong = LoaiPhongBUS.LayDSLoaiPhong();
                    LoadGrid(listLoaiPhong);
                }
                else
                    MessageBox.Show("Lỗi chưa xác định, xin liên hệ nhà cung cấp");
            }
        }

    }
}